package com.shujia.base.day01

import scala.io.{BufferedSource, Source}

object Demo2IO {
  def main(args: Array[String]): Unit = {
    /**
     * 输入流
     */
    //使用java中的类进行读取数据
    //    val br: BufferedReader = new BufferedReader(new FileReader("scala/data/words.txt"))
    //    var line = br.readLine()
    //    while(line!=null){
    //      println(line)
    //      line = br.readLine()
    //    }
    //使用scala中特有的读取文本数据方式
    val bs: BufferedSource = Source.fromFile("scala/data/words.txt") //底层是调用了字节输入流的方式读取数据
    val lines: Iterator[String] = bs.getLines() // 调用BufferedSource类中的getLines方法，得到一个存储所有行数据的迭代器
    //遍历迭代器的第一种方式：调用迭代器中的方法
    //    while (lines.hasNext){ // 判断下一行是否有数据
    //      val line: String = lines.next() // 取出一行数据
    //      println(line)
    //    }
    //遍历迭代器的第二种方式：使用scala语法中的for循环
    for (line <- lines) {
      println(line)
    }

    /**
     * 注意：scala中没有特殊的输出流语法，只能使用java中输出流
     */

  }
}
